The present invention relates to a system for interconnecting networks which conform to the same protocol, or networks which conform to different protocols.
The IP (Internet Protocol) networks represented by the Internet are now rapidly developing. A sudden increase in Internet users results in an increased proportion of data communications in communication networks. Communication operators are considering the construction of an IP-based next generation communication network for fusion of data communications and audio communications.
VoIP (Voice over IP) is a technology for transmitting audio information on an IP network. VoIP first sets a virtual communication path (session) between communication devices. IP packetized audio data is transferred on the set communication path. A session control protocol is requested for controlling the establishment, maintenance and disconnection of the session between communication devices.
IETF (Internet Engineering Task Force) has specified the SIP (Session Initiation Protocol) (IETF RFC2543) for establishing and terminating a session for an IP multimedia communication. Because of its high expendability in function, the SIP is drawing attention as a session control protocol for VoIP.
The SIP is an application protocol which utilizes a transport mechanism such as TCP (Transmission Control Protocol) and UDP (User Datagram Protocol). The SIP is a text-based protocol which is comprised of a header for carrying a request or a response, and a message body for describing the contents of a session. For describing a session in the SIP, SDP (Session Description Protocol) (IETF RFC2327), for example, is applied.
The SIP employs an architecture of a client server model. A user agent client sends an SIP request to a proxy (SIP server) of a user agent server. The SIP server solves the address of the destination using DNS (Domain Name System) or the like to establish a session between terminals.
The SIP server has a proxy mode and a redirect mode depending on its role. In the proxy mode, a proxy server mediates a request for establishing a session between a user agent client and a user agent server. In the redirect mode, a user agent client directly connects to a user agent server, making use of information on the destination acquired from an SIP redirect server.
In the following, description will be made on an SIP connection procedure using the SIP server in the proxy mode. When a terminal x on an IP network begins an audio communication with a terminal y on the IP network using the SIP, the terminal x sends a call setting request (INVITE) to the SIP server. The SIP server identifies position information of the terminal y, and sends the call setting request. The terminal y sends a response indicative of acceptance of the call. This response is sent to the terminal x via the SIP server through which the call setting request has passed. The terminal x confirms the reception of the response by sending an ACK request to the terminal y. The ACK request is transferred by the SIP server or directly sent to the terminal y. In the foregoing manner, a communication is available between the terminal x and terminal y. Generally, the call setting request and response include information (session description) for transferring user information (audio packets) between the terminal x and terminal y. The SDP or the like is applied to the session description. The terminal x (terminal y) sends user information to a destination specified by the terminal y (terminal x).
In accordance with the specifications of the SIP and SDP, information on the terminals and SIP server can be specified by an IP address.
On the other hand, the rapid spread of the IP networks increases the importance of the technology for interconnecting regions which differ in addressing system from each other.
For example, a method of using NAT (Network Address Translator) technology (IETF RFC1631) is known as a technology for interconnecting a network which confirms to private addresses and a network which conforms to global addresses.
The NAT translates a private IPv4 address to a global IPv4 address, or vice versa. The basic NAT rewrites one of a source address and a destination address at the time a datagram passes between two regions connected by an NAT router. When an address space allocated to the private network collides with an address space allocated to the public network, a twice NAT technology may be often used for solving the collision of addresses. The twice NAT technology rewrites both of the source address and destination address at the time a datagram passes between two regions connected by a twice NAT router.
The twice NAT operates in the following manner for solving the collision of addresses. When Host-A in the private region begins a communication with Host-X in the public region, Host-A sends a packet for inquiring the DNS address of Host-X. DNS-ALG (Domain Name Service—Application Level Gateway) captures this packet, translates the address for Host-X to an address (Host-XPRIME) which can be routed within the private region, and returns the translated address to Host-A. When the DNS address is solved, Host-A begins a communication with Host-XPRIME. At the time this packet passes the twice NAT, the source address is rewritten to an address possessed by the NAT, and the destination address is rewritten to the address of Host-X. A similar translation to the foregoing is applied to a return packet from Host-X. Details on the operation of the DNS-ALG are described in IETF RFC2694.
The foregoing is an exemplary technology which is used when a network to which a certain terminal belongs employs the same protocol as a network to which a destination terminal belongs. When a network to which a certain terminal belongs differs in communication protocol from a network to which a destination terminal belongs, NAT-PT (IETF RFC2766), SOCKS64 (IETF RFC3089) and the like are known as translation schemes for connecting a network which uses, for example, IPv4 as the protocol (hereinafter called the IPv4 network) to a network which uses Internet Protocol version 6 as the protocol (hereinafter called the IPv6 network).
Basically, either of these schemes mutually translates the format of the IP packet between IPv4 and IPv6. For example, IPv4 addresses are translated to IPv6 addresses, or vice versa. A device which is responsible for this translation is hereinafter called a translator. For the translation, the translator must create and hold a correspondence relationship between the IPv4 addresses and IPv6 addresses before the translation. When this correspondence relationship is dynamically created each time a communication is made, the name solution of DNS (domain name system) is utilized as a trigger (see Internet RFC Dictionary, pp323-329, ASCII Edition).
The DNS is a system for translating a name (character string) readily perceptible to humans such as URL of a web to an IP address. In the following, the operation of translating a name to an IP address is called a name solution. Today, almost all applications on the Internet utilizes this DNS to acquire an IP address of a communication party.
The NAT and translator, making use of this fact, monitor at all times messages of the DNS communicated at the outset of a communication, and take advantage of a message for requesting a name solution for creating translation information (a correspondence relationship of IP addresses, and the like). Specifically, assuming that an IPv6 terminal conducts a name solution for a certain name, and an IP address, which is a response thereto, is IPv4, the IPv4 address is rewritten to an IPv6 address which is sent back to the IPv6 terminal. Then, the IPv4 address before the rewriting is corresponded to the rewritten IPv6 address. In other words, the DNS-ALG intercepts the response message to the name solution for the rewriting, and dynamically creates the translation information based on the original and rewritten information.